iOS APP语音通话 经过中蓝牙耳机切换听筒或扬声器 苹果手机语音通话功能
iOS APP语音通话 经过中蓝牙耳机切换听筒或扬声器
最近在基于sip 写语音通话功能,app需要兼容蓝牙耳机,中间出现过好多莫名其妙的 难题 ,这是研究 经过中踩过的坑
1、实时通话,需要设置Category为 AudioSessionCategoryPlayAndRecord,这个不要改变,否则会出现各种没声音的 难题。
2、适配蓝牙耳机的时候,不需要专门修改options为 AudioSessionCategoryOptionAllowBluetooth
蓝牙 情形下 切换到听筒、扬声器、切回 切换听筒!!
NSArray* builtinRoutes = @[ AudioSessionPortBuiltInMic]; NSArray* routes = [[ AudioSession sharedInstance] availableInputs]; AudioSessionPortDescription* builtinPort; for ( AudioSessionPortDescription* route in routes){ if ([builtinRoutes containsObject:route.portType]) { builtinPort = route; } } [[ AudioSession sharedInstance] setPreferredInput:builtinPort error:nil];
切换扬声器!!
[[ AudioSession sharedInstance] overrideOutputAudioPort: AudioSessionPortOverrideSpeaker error:nil]; [[ AudioSession sharedInstance] setActive:YES error:nil];
切换回蓝牙!!!
[[ AudioSession sharedInstance] overrideOutputAudioPort: AudioSessionPortOverrideNone error:nil]; [[ AudioSession sharedInstance] setActive:YES error:nil];
感谢原文:https://blog.csdn.net/u014274590/article/details/81098135